package com.base.pig.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.sql.Timestamp;

/**
 * @ProjectName
 * @Package com.pig4cloud.pig.lab.entity
 * @ClassName ScDevice
 * @Description 设备总表
 * @Company lab
 * @Author songhw
 * @Date 2020/4/22 0022 11:12
 * @UpdateUser
 * @UpdateDate
 * @UpdateRemark
 * @Version 1.0.0
 */
@Data
@TableName("sc_device")
@EqualsAndHashCode(callSuper = true)
public class ScDevice extends Model<ScDevice> {

  private static final long serialVersionUID = 1L;

  /**
   * 主键ID
   */
  @ApiModelProperty(name="deviceId",value = "主键ID",dataType = "Long")
  @TableId(value = "device_id", type = IdType.ASSIGN_ID)
  @JsonSerialize(using= ToStringSerializer.class)
  private Long deviceId;

  /**
   * 设备类型
   */
  @ApiModelProperty(name="deviceType",value = "设备类型",dataType = "String")
  private String deviceType;
  /**
   * 设备类型
   */
  @ApiModelProperty(name="deviceStatus",value = "设备状态",dataType = "String")
  private Integer deviceStatus;

  /**
   * 设备类型名称
   */
  @ApiModelProperty(name="deviceTypeName",value = "设备类型名称",dataType = "String")
  private String deviceTypeName;

  /**
   * 厂商号
   */
  @ApiModelProperty(name="manufacturerNumber",value = "厂商号",dataType = "String")
  private String manufacturerNumber;

  /**
   * 厂商名称
   */
  @ApiModelProperty(name="manufacturerName",value = "厂商名称",dataType = "String")
  private String manufacturerName;

  /**
   * 设备码
   */
  @ApiModelProperty(name="sn",value = "设备码",dataType = "String")
  private String sn;

  /**
   * 窨井ID
   */
  @ApiModelProperty(name="manholeId",value = "窨井ID",dataType = "Long")
  private Long manholeId;

  /**
   * 上次同步时间
   */
  @ApiModelProperty(name="lastSynTime",value = "上次同步时间",dataType = "String")
  private Timestamp lastSynTime;

  /**
   * 精度
   */
  @ApiModelProperty(name="longitude",value = "精度",dataType = "String")
  private double longitude;

  /**
   * 纬度
   */
  @ApiModelProperty(name="latitude",value = "纬度",dataType = "String")
  private double latitude;

  /**
   * 导入方式
   */
  @ApiModelProperty(name="importType",value = "导入方式",dataType = "Long")
  private Long importType;

  /**
   * 操作管理员
   */
  @ApiModelProperty(name="importUserId",value = "操作管理员",dataType = "Long")
  private Long importUserId;

  /**
   * 导入时间
   */
  @ApiModelProperty(name="gmtCreate",value = "导入时间",dataType = "Timestamp")
  private Timestamp gmtCreate;

  /**
   * 更新时间
   */
  @ApiModelProperty(name="gmtModified",value = "更新时间",dataType = "Timestamp")
  private Timestamp gmtModified;

  /**
   * 施工日期
   */
  @ApiModelProperty(name="installDate",value = "施工日期",dataType = "String")
  private String installDate;

  /**
   * 录入时间
   */
  @ApiModelProperty(name="recordDate",value = "录入时间",dataType = "String")
  private String recordDate;

  /**
   * 高程
   */
  @ApiModelProperty(name="altitude",value = "高程",dataType = "long")
  private double altitude;
  /**
   * 位置
   */
  @ApiModelProperty(name="location",value = "位置",dataType = "String")
  private String location;
  /**
   * 工单状态
   */
  @ApiModelProperty(name="orderStatus",value = "工单状态",dataType = "String")
  private int orderStatus;

  /**
   * 权属单位
   */
  @ApiModelProperty(name="authorizedUnitName",value = "权属单位",dataType = "String")
  private String authorizedUnitName;

  /**
   * 权属单位编码
   */
  @ApiModelProperty(name="authorizedUnitNumber",value = "权属单位编码",dataType = "String")
  private String authorizedUnitNumber;

}
